import 'package:extended_image/extended_image.dart';
import 'package:flutter/material.dart';

/*
* 图片
* 内容、显示模式：填充、裁剪等
* 可以从网络、本地获取图片设置
* 一般情况会使用第三方库，比如：extended_image，官方的Image扩展组件
* 支持加载以及失败显示，缓存网络图片，缩放拖拽图片，图片浏览(微信掘金效果)，滑动退出页面(微信掘金效果)，编辑图片(裁剪旋转翻转)，保存，绘制自定义效果等功能
* */

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget{

  final imgUrl = "https://cdn.shopify.com/s/files/1/2459/7473/products/flutter_and_dart_530x@2x.jpg?v=1551399009";

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "image",
      home: Scaffold(
        body: ClipPath(
          
                  child: Container(
            // child: _network(imgUrl)
            child: _networkCached(imgUrl)
          ),
        ),
      ),
    );
  }

  /*
    从网络获取图片，没有使用缓存
   */
  Image _network(String url) =>
    Image.network(
        url,
        fit: BoxFit.contain
        );

  /*
    第三方库有使用缓存
   */
  ExtendedImage _networkCached(String url) {
    return ExtendedImage.network(
        url,
        fit: BoxFit.fill,
        shape: BoxShape.circle,
    );
  }
}